🚀 What Is Cacao Research?

Cacao Research is the brand‑new GitHub org behind the Cacao framework — a reactive Python toolkit that lets you build real‑time web apps with a decorator‑based API, JSON‑driven UIs, and WebSocket updates.

But Cacao Research isn’t just one repo; it’s a growing family of mini‑apps that show what the framework can do and save you hours of boilerplate.

Project TL;DR PyPI
cacao The core framework. Think “Python first” alternative to Streamlit/Dash with component state baked in. pip install cacao
cacao‑json‑viewer Drop preview_json(data) in any script and pop open a desktop JSON/tree viewer. pip install cacao-json-viewer
cacao‑pandas‑ui One‑liner preview(df) gives you a sortable, filterable DataFrame table UI. pip install cacao-pandas-ui

🌱 Why We Built It

  1. Less Front‑End Overhead
    Most Python devs don’t want to deep‑dive into React, Tailwind, and build chains every time they need a quick UI. Cacao wraps that complexity in simple decorators.
  2. True Reusability
    Every UI element is a pure‑Python component that you can package, publish, and reuse across projects.
  3. Rapid Prototyping
    Internal dashboards, data explorers, research tools — build them in hours, not weeks.

🧰 Key Cacao Research Highlights

⚡ Real‑Time by Default

WebSocket‑powered state sync keeps every client in lockstep without extra code.

🖇️ Component‑First Design

Define a UI component once, import it anywhere. Goodbye copy‑paste UI spaghetti.

🔌 Mini‑App Ecosystem

Our small packages (JSON Viewer, Pandas UI, more coming) are blueprints you can fork or extend.


🏃‍♂️ Get Started in 30 Seconds

pip install cacao
pip install cacao-json-viewer  # optional mini‑app
from cacao import component, run_app
from cacao_json_viewer import preview_json

@component
def Hello(name="Cacao"):
    return {"type": "h1", "props": {"content": f"Hello, {name}! 👋"}}

run_app(Hello)

That’s it — your browser pops open a live app.


🤝 How to Contribute

  • Star & watch the repos you like.
  • Open issues for bugs, ideas, or feature requests.
  • Send pull requests — small docs tweaks to full components are welcome.
  • Chat with us in GitHub Discussions; we’re a friendly bunch.

📚 Resources